<?php

include_once '../templates/topo.php';

$id= '';

$functionRetornar = isset($_REQUEST['functionRetornar'])?$_REQUEST['functionRetornar']: "click";
//
if(isset($_REQUEST['id']))
	$id = $_REQUEST['id'];

//$id=get_request("id");

$os = $em->find("Entities\OrdemServico", $id);
if(empty($os)){
	$os = new \Entities\OrdemServico();
}


	
?>

	<div class="tabs center">
			<ul>
				<li><a href="#tabs-1">Cadastro Ordem de Servico</a></li>
				<li><a href="#tabs-2">Produtos Utilizados</a></li>
			</ul>
			<div id="tabs-1">
				<div cols='3'>
					<div class='field' >
						<label>Numero*</label>
						
						<input type='text' id='txtId' value='<?php echo $os->getId();?>' readonly="readonly" />
						
					</div>
					<div class='field'>
						<label>Status*</label>
						<select id="selStatus">
							<?php 
								$status = $os->getStatus();
								
							?>
							<option value="ABERTA" <?php echo $status=="ABERTA" ? "selected='selected'":"";?>>Aberta</option>
							<option value="ANDAMENTO" <?php echo $status=="ANDAMENTO" ? "selected='selected'":"";?>>Em andamento</option>
							<option value="AGUARDANDO" <?php echo $status=="AGUARDANDO" ? "selected='selected'":"";?>>Aguardando Material</option>
							<option value="FECHADA" <?php echo $status=="FECHADA" ? "selected='selected'":"";?>>Fechada</option>
							<option value="CANCELADA" <?php echo $status=="CANCELADA" ? "selected='selected'":"";?>>Cancelada</option>
						</select>
						
					</div>
					<div class='field'>
						<label>Data Abertura*</label>
						<input type='text' id='txtDataAbertura' value='<?php echo date("d/m/Y" , $os->getDataAbertura()->getTimestamp()); ?>' size='12' />
						<script>
							$("#txtDataAbertura").datepicker();
						</script>
					</div>
					
					
					<div class='field'>
						<label>Solicitante</label>
						<input type='text' id='txtNomeSolicitante' value='<?php echo $os->getSolicitante()->getNome()?>'  readonly="readonly" />
						<input type="hidden" id="idSolicitante" value="<?php echo $os->getSolicitante()->getId()?>" /><button id="btnLocalizarSolicitante" >Localizar Moradores</button>
						<script>
							$("#btnLocalizarSolicitante").button({
								text:false,
								icons:{
									"primary": "ui-icon-search"
								}

							})
							.click(function(){
								utils.abrirJanela("cadastrado/FormConsultaCadastrado.php", "popup=true", "retornoSolicitante");
							});
						</script>
					</div>
					
					<div class='field'>
						<label>Local</label>
						<input type='text' id='txtLocal' value='<?php echo $os->getLocal()?>' size='25' />
						
						
					</div>
					
					
					<div class='field'>
						<label>Descricao Problema*</label>
						<textarea type='text' id='txtDescricaoProblema'  rows="5" cols="40" ><?php echo $os->getDescricaoProblema();?></textarea>
						
					</div>
					
					<div class='field'>
						<label>Descricao Solucao</label>
						<textarea type='text' id='txtDescricaoSolucao'  rows="5" cols="40" ><?php echo $os->getDescricaoSolucao();?></textarea> 
						
					</div>
					
					<div class='field'>
						<label>Responsavel</label>
						
						<input type="hidden" id="idResponsavel" value="<?php echo $os->getResponsavel()->getId(); ?>" />
						<input type='text' id='txtNomeResponsavel' readonly="readonly" value='<?php echo $os->getResponsavel()->getNome();?>'  /><button id="btnLocalizarResponsavel" >Localizar Responsavel</button>
						<script>
							$("#btnLocalizarResponsavel").button({
								text:false,
								icons:{
									"primary": "ui-icon-search"
								}

							})
							.click(function(){
								utils.abrirJanela("funcionario/FormConsultaFuncionario.php", "popup=true", "retornoResponsavel");
							});
						</script>
						
					</div>
					
					
					
				</div>
			</div>
			<div id="tabs-2">
				<div cols='5'>
					<div class='field' >
						<label>Codigo</label>
						<input type='text' id='txtCodigoProduto' />
						<input type='hidden' id='hidIdProduto' />
						
						
					</div>
					<div class='field' >
						<label>&nbsp;</label>
						<button id="btnBuscarProduto">Buscar Produto</button>
					</div>
					
					<div class='field' >
						<label>Descricao</label>
						<input type='text' id='txtDescricaoProduto' />
					</div>
					
					<div class='field' >
						<label>Qtd Utilizada <span id="spanQtd">&nbsp;</span></label>
						<input type='text' id='txtQuantidadeProduto' />
					</div>
					
					<div class='field' >
						<label>&nbsp;</label>
						<button id="btnAddProdutoLista">Adicionar Produto a lista</button>
						<button id="btnRemoveProdutoLista">Remover Produtos da lista</button>
					</div>
					
					<script type="text/javascript">
						$("#btnBuscarProduto").button({
							text:false,
							icons: {primary: "ui-icon-search"}
						})
						.click(function(e){
							utils.abrirJanela("produto/consultar-produto.php", "popup=true", "escolherProdutoRetorno");
						});

						$("#btnRemoveProdutoLista").button({
							text:false,
							icons: {primary: "ui-icon-minusthick"}
						})
						.click(function(e){
							var arrIds = new Array();
							$('[name="chkSelectItemOS"]:checked').each(function(i){
								
								arrIds[i] = $(this).val();
							});
							utils.ajax("ordem-servico/removerItem", {
								arrIds: arrIds
							}, function(xml){
								buscarItensOs();
								
							});
						});

						$("#btnAddProdutoLista").button({
							text:false,
							icons: {primary: "ui-icon-plusthick"}
						})
						.click(function(e){
							utils.ajax("ordem-servico/adicionarItem", {
									idOs: $("#txtId").val(),
									idProduto: $("#hidIdProduto").val(),
									quantidade: $("#txtQuantidadeProduto").val()

								}, function(xml){

									var json = $.xml2json(xml);

									if(json.error=="0"){
										buscarItensOs();
										$("#hidIdProduto").val("");
										$("#txtQuantidadeProduto").val("");
										$("#txtCodigoProduto").val("");
										$("#txtDescricaoProduto").val("");
										$("#txtCodigoProduto").val();

									}
									else{
										alert("Nao foi possivel incluir o produto na ordem de servico<br />Motivo: " +json.error);
										


									}
								});
							
								
						});


						//data as json
						function exibeProdutoParaAdicionar(data){


							$("#hidIdProduto").val(data.id);
							$("#txtCodigoProduto").val(data.codigo);
							
							$("#txtDescricaoProduto").val(data.descricao);

							
							$("#spanQtd").text("(Em "+data.unMedida+")");
//							var idAtual = "'idMask"+idGeradoMascara+"'";

							var minhaMascara = "";

							var meuDefaultValue = "0";

							for(i=0 ; i< parseInt(data.precisao); i++){
								minhaMascara += "9";
								meuDefaultValue += "0";
								
							}

							if(minhaMascara!=""){
								minhaMascara += ".";
							}
							
							minhaMascara += "999999999999";

							$.mask.masks.decimalCustom.mask = minhaMascara;
							$.mask.masks.decimalCustom.defaultValue = meuDefaultValue;
							$("#txtQuantidadeProduto").val(meuDefaultValue);
//							alert("mask : "+minhaMascara+", type : 'reverse', defaultValue: "+meuDefaultValue);
//							var myMask = {
//									idAtual : {mask : "'"+minhaMascara+"'", type : 'reverse', defaultValue: "'"+meuDefaultValue+""}
//									};
//							
//							$.extend($.mask.masks, myMask);

							$("#txtQuantidadeProduto").setMask("decimalCustom");
							
							
						}

						function buscarItensOs(){
							utils.ajax("ordem-servico/getItensOs",{
								idOs: $("#txtId").val()
							}, function(xml){
								var json = $.xml2json(xml);

								

								utils.limparTabela(".table_consulta");

								$(json.item).each(function(cont){
									var idItem = this.id;
									var codigo = this.codigo;
									var descricao = this.descricao;
									var quantidade = this.quantidade;
									var unidadeMedida = this.unidadeMedida;

									var chkBox = "<input type='checkbox' name='chkSelectItemOS' value='"+idItem+"' />"

									var linha = utils.gerarLinha([idItem,
									                              chkBox,
																	codigo,
																	descricao,
																	quantidade + " "+unidadeMedida],
																	0, "trConsulta" ,cont, false);
									
									$(".table_consulta").append(linha);

									$('#trConsulta_'+ idItem).click(function(e){
										
										if(e.target.type!="radio"){
//											alert(funcaoRetorno);
											if($('[name="chkSelectItemOS"]', $(this)).is(":checked")){
												$('[name="chkSelectItemOS"]', $(this)).attr("checked", "");
											}
											else{
												$('[name="chkSelectItemOS"]', $(this)).attr("checked", "checked");
											}
											
											

										}
									});
									
								});
							
								
								
							});

						}

						var idGeradoMascara = 0;

						$("#txtCodigoProduto").blur(function(){
							if($(this).val()!=""){
								getDadosProdutoPorCodigo($(this).val());
								
								
							}
						});

						function getDadosProdutoPorCodigo(codigo){
							utils.ajax("produto/consultar-produto",{
								strBusca: $("#txtCodigoProduto").val(),
								onlyCodigo: "true"
								},function(xml){
									var json = $.xml2json(xml);
									if(json.produto != undefined){
										exibeProdutoParaAdicionar(json.produto);
										$("#txtQuantidadeProduto").focus();
	
									}else{
//										$("#txtCodigoProduto").val("");
										$("#hidIdProduto").val("");
										$("#txtDescricaoProduto").val("");
										$("#txtQuantidadeProduto").val("");
										
									}

									
									

									
									
								});

						}

						$(document).ready(function(){
							buscarItensOs();
							$('body').bind("escolherProdutoRetorno", function(e, data){
//								utils.fecharJanela();
								exibeProdutoParaAdicionar(data);
								utils.fecharJanela();
								$("#txtQuantidadeProduto").focus();
							});
						});
						
					</script>
					
					
				</div>
				
				<div>
					<table class='table_consulta'>
						<tr>
							<th style='width: 20px'>&nbsp;</th>
							<th>codigo</th>
							<th>Descricao</th>
							<th>Qtd Utilizada</th>													
						</tr>
						<tfoot>
							<tr>
								<td colspan="4">Nenhum Resultado Encontrado</td>
							</tr>
						</tfoot>
					</table>
				</div>
			
			</div>
	
			<div class='footer'>
				<button id='btnSalvar'>Salvar</button>
				<button id='btnSalvarFechar'>Salvar e Fechar</button>
				<script type="text/javascript">
					if($("#txtId").val()==""){
						$( ".tabs" ).tabs({ disabled: [ 1 ] });
					}
					
					function salvarOs(fecharJanela){

						    
						
							
						if($('#txtDataAbertura').val() == '' || $('#hidIdSolicitante').val() == ''|| $('#txtDescricaoProblema').val()== '' ){
							alert('Dados Obrigatorios nao preenchidos', 'Atencao');
						
						}else{
						
							utils.ajax('ordem-servico/salvar', {
								id: $("#txtId").val(),
								status:$("#selStatus").val(),
								dataAbertura:$("#txtDataAbertura").val(),
								descricaoProblema: $('#txtDescricaoProblema').val(),
								descricaoSolucao:$("#txtDescricaoSolucao").val(),
								idSolicitante:$("#idSolicitante").val(),
								local:$("#txtLocal").val(),
								idResponsavel:$("#idResponsavel").val()
								
									
							}, function(xml){
									erro = $(xml).find('error').text();
									if(erro == "0"){
										msg = "A Ordem de Servico foi salva com sucesso!";
	
										$("#txtId").val($(xml).find('idGerado').text());
										$( ".tabs" ).tabs("enable",  1);
									}
									else{
										msg = "A Ordem de Servico NAO foi salva com sucesso!";
									}

									var json = {
											fecharJanela : fecharJanela,
											msg : msg
										}

									parent.$("body").trigger(funcaoRetorno, json);
									alert(msg);
									
							});
						}

					}

					$('body').bind('retornoSolicitante', function(e, data){
						$("#idSolicitante").val(data.id);
						$("#txtNomeSolicitante").val(data.nome);
						utils.fecharJanela();
						
					});


					$('body').bind('retornoResponsavel', function(e, data){
						$("#idResponsavel").val(data.id);
						$("#txtNomeResponsavel").val(data.nome);
						utils.fecharJanela();
						
					});
					
					

					
					
					$("#btnSalvar").click(function(e){
						salvarOs(false);
						
					});
					$("#btnSalvarFechar").click(function(e){
						salvarOs(true);
						
					});
				</script>
			</div>
	</div>

<?php 
if(!$popup)
	include_once '../templates/footer.php';
?>